草庐IT

c++ - SomeClass **ptr; 之间的区别和 SomeClass *ptr;

全部标签

c - 如何在线程/进程之间可移植地共享变量?

我有一个服务器,它为每个传入请求生成一个新进程或线程,我需要从线程和进程读取和写入在该服务器中定义的变量。由于服务器程序需要同时在UNIX和Windows上运行,我需要以可移植的方式共享变量,但我该怎么做呢?我需要使用标准C库或native系统调用,所以请不要推荐第三方库。 最佳答案 sharedmemory是特定于操作系统的。在Linux上,考虑阅读shm_overview(7)和(因为使用共享内存,你总是需要某种方式来同步)sem_overview(7).当然,您需要找出相似(但可能不等同)的Windows函数调用。注意thre

c++ - 与 __stdcall 函数指针声明等价的 clang 是什么?

我有以下函数指针声明:externlong(__stdcall*FooPtr)(int*i);也就是说,一个函数指针指向一个函数,该函数将使用stdcall调用约定(在VS术语中)调用。我怎样才能翻译这个声明让clang理解它? 最佳答案 __attribute__((stdcall))是正确答案:clang支持thefollowinglistofattributes在语法上,它与gcc的非常相似。例如#ifdefined(__clang__)||defined(__GNUC__)#definestdCallConv__attrib

c - 检测 SD 读卡器是否插入了卡

有谁知道如何使用C中的WindowsApi来检测SD卡读卡器是否插入了卡?平台:windowsxp/visa/7/8。我用谷歌搜索并查看了WindowsAPI文档(我不熟悉它,所以可能错过了很多),但一直找不到答案。我看过这篇文章HowcanIdetectwhenanSDcardispluggedin?-这很接近但没有给我我需要的东西,因为我不想检测状态的变化,而是在查询时它处于什么状态。(如果碰巧有人有这个的Ada实现,那就太棒了,否则我打算只与C链接)谢谢你的帮助马特 最佳答案 我使用WindowsAPI调用GetVolumeI

c - 错误 C2059 : syntax error : 'bad suffix on number' with cl. exe vc 编译器

我尝试编译的代码片段是这样的VOIDPTSetPageAttributexxyy(INUINT642g,INUINT64Base,INUINT64Length,INUINT32Ra,INUINT32Wa,INUINT32Xa,INMY_ATTRIBUTE_SETTINGsetting);我得到:errorC2059:syntaxerror:'badsuffixonnumber'用cl.exevc编译器 最佳答案 参数名称2g无效。它必须以字母或_开头。 关于c-错误C2059:synta

c++ - 如何检测不同的Windows目标平台?

我想为我的C/C++文件创建一个通用头文件。在该头文件中,我希望编译时检测我正在为哪个平台构建以及我正在为该平台构建什么类型的应用程序。选项是:桌面应用程序。操作系统:Win7/Win8.x。中央处理器:英特尔/AMD。设备:个人电脑/笔记本电脑WindowsPhone应用程序。操作系统:Windows:8.x。中央处理器:ARM。设备:Windows手机桌面应用程序。操作系统:Windows8.x。中央处理器:英特尔。设备:平板电脑商店应用程序。操作系统:Windows8.x。中央处理器:英特尔。设备:平板电脑桌面应用程序。操作系统:WindowsRT。中央处理器:ARM。设备:平板

java - Windows 和 Ubuntu 之间的不同路径

我使用Windows和Ubuntu通过Eclipse进行编码,我还有一个大文件夹,里面有很多库,所以我可以选择我想要的库并将其添加到我的项目中......但是windows和linux(Ubuntu)不使用相同的库路径,我在windows上添加一个库,在ubuntu上它不起作用,因为ubuntu找不到G:/Programation/Libraries,如果我想在ubuntu上添加一个库,它是/media/Media1/Programation/Libraries...我在这里搜索了一下,但我不明白它是如何工作的,我也无法将我的库移动到SDKJava路径,我需要在各种计算机中移动java

windows-phone-8.1 - 使用 Windows 通用应用程序在设备之间同步数据

我是通用Windows应用程序开发的新手,我正在寻找一些方法来共享在WindowsPhone应用程序和Windows应用程序上创建的数据(在每个设备数据库上),反之亦然,我不想涉及网络服务器来管理这个,唯一的异常(exception)可能是用户的onedrive,我认为Windows应用程序(rt或桌面)版本是否可以运行一些服务来通过wi-fi处理这个问题?或者使用onedrive备份和恢复数据库的某种方式? 最佳答案 您应该使用漫游应用数据。我不知道你的数据库有多大。但是为了保持完整性,您可以将每个表序列化为JSON并存储它。很简

c++ - 全屏形式和视频游戏有什么区别?

如果我在visualstudioc++上创建一个窗体,并使该窗体与屏幕一样大,并且覆盖所有内容,我可以创建一个全屏显示的窗体。如果我按下Windows键,启动菜单就会出现,我可以让任何其他程序在我的上面运行。如果我运行像英雄联盟这样的视频游戏,屏幕会出现故障并且游戏会全屏显示。如果您按Windows键,什么也不会发生。你不能在游戏之上拥有任何东西,如果它在自己的环境中就好了。我并不是要寻求完整的答案或实现它的代码。只是我很好奇游戏设计师使用了哪些不同的技术。 最佳答案 这两种技术本质上都是全屏,但有一个细微差别:大多数游戏使用的“真

windows - 页面文件中的物理页面和页面之间有什么关系?

在Windows下,内核可以将物理内存页面交换到页面文件中的页面。为简单起见,我们假设只有一个分页文件。据我了解,分页文件由与物理内存页面大小相同的页面组成。即4K。我只是想知道:内核如何知道页面文件中的哪个页面空闲可以存储?(这里的空闲是指分页文件中的页面之前没有存储过其他物理内存页面。) 最佳答案 存在过度简化的风险。..实现虚拟内存的通常方法是磁盘是主要存储。除非有到文件的映射,否则虚拟页面不存在。该映射在流程的生命周期内保持不变。磁盘上的虚拟内存在可用时映射到物理内存。内核维护一些数据结构(例如位图)以指示页面文件的空闲区域

c - 如何在 C 程序中重定向标准输入(在 Windows 下)

我有一个名为a.exe的简单C程序,其主循环如下:voidinput_console(){printf(">>");charin_string[256]={0};fgets(in_string,256,stdin);parse(in_string);}当我启动它并从我的键盘输入命令时,它是这样工作的:>>say_helloHello!>>say_goodbyeGoodbye!>>nocommandfound>>blablablablaCommandblablablablanotrecognized>>nocommandfound等等现在我想从文件而不是键盘读取输入,所以我这样准备了in